<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MRSL JPS3D Library: DMPlanner&lt; Dim &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">MRSL JPS3D Library
   &#160;<span id="projectnumber">1.1</span>
   </div>
   <div id="projectbrief">An implementaion of Jump Point Search on 3D voxel map</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classDMPlanner-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">DMPlanner&lt; Dim &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Abstract base for planning.  
 <a href="classDMPlanner.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="distance__map__planner_8h_source.html">distance_map_planner.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for DMPlanner&lt; Dim &gt;:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classDMPlanner.png" usemap="#DMPlanner_3C_20Dim_20_3E_map" alt=""/>
  <map id="DMPlanner_3C_20Dim_20_3E_map" name="DMPlanner_3C_20Dim_20_3E_map">
<area href="classIterativeDMPlanner.html" alt="IterativeDMPlanner&lt; Dim &gt;" shape="rect" coords="0,56,166,80"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ad33e7686995b0205ea104d9b5910962b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#ad33e7686995b0205ea104d9b5910962b">DMPlanner</a> (bool verbose=false)</td></tr>
<tr class="memdesc:ad33e7686995b0205ea104d9b5910962b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple constructor.  <a href="#ad33e7686995b0205ea104d9b5910962b">More...</a><br /></td></tr>
<tr class="separator:ad33e7686995b0205ea104d9b5910962b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afaeb5f88f845c3b3f915895d3bb9570e"><td class="memItemLeft" align="right" valign="top">std::vector&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#afaeb5f88f845c3b3f915895d3bb9570e">setPath</a> (const <a class="el" href="data__type_8h.html#a0a3b37beb40c06edc02cb4b7339f2b96">vec_Vecf</a>&lt; Dim &gt; &amp;path, const <a class="el" href="data__type_8h.html#a3a0c45655a5e009e56634ccde0c5c575">Vecf</a>&lt; Dim &gt; &amp;radius, bool dense)</td></tr>
<tr class="memdesc:afaeb5f88f845c3b3f915895d3bb9570e"><td class="mdescLeft">&#160;</td><td class="mdescRight">set a prior path and get region around it  <a href="#afaeb5f88f845c3b3f915895d3bb9570e">More...</a><br /></td></tr>
<tr class="separator:afaeb5f88f845c3b3f915895d3bb9570e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d3b480cf42c3c6878a92b36ec0c53cd"><td class="memItemLeft" align="right" valign="top"><a id="a6d3b480cf42c3c6878a92b36ec0c53cd"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#a6d3b480cf42c3c6878a92b36ec0c53cd">setSearchRadius</a> (const <a class="el" href="data__type_8h.html#a3a0c45655a5e009e56634ccde0c5c575">Vecf</a>&lt; Dim &gt; &amp;r)</td></tr>
<tr class="memdesc:a6d3b480cf42c3c6878a92b36ec0c53cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set search radius around a prior path. <br /></td></tr>
<tr class="separator:a6d3b480cf42c3c6878a92b36ec0c53cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a185cc248ad90126275293b68e766e4fe"><td class="memItemLeft" align="right" valign="top"><a id="a185cc248ad90126275293b68e766e4fe"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#a185cc248ad90126275293b68e766e4fe">setPotentialRadius</a> (const <a class="el" href="data__type_8h.html#a3a0c45655a5e009e56634ccde0c5c575">Vecf</a>&lt; Dim &gt; &amp;r)</td></tr>
<tr class="memdesc:a185cc248ad90126275293b68e766e4fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set potential radius. <br /></td></tr>
<tr class="separator:a185cc248ad90126275293b68e766e4fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91f87e62a8be32e7224a26fd504f95e6"><td class="memItemLeft" align="right" valign="top"><a id="a91f87e62a8be32e7224a26fd504f95e6"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#a91f87e62a8be32e7224a26fd504f95e6">setPotentialMapRange</a> (const <a class="el" href="data__type_8h.html#a3a0c45655a5e009e56634ccde0c5c575">Vecf</a>&lt; Dim &gt; &amp;r)</td></tr>
<tr class="memdesc:a91f87e62a8be32e7224a26fd504f95e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the range of potential map, 0 means the whole map. <br /></td></tr>
<tr class="separator:a91f87e62a8be32e7224a26fd504f95e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3dba868a99981d6b6bccf54149de31b"><td class="memItemLeft" align="right" valign="top"><a id="aa3dba868a99981d6b6bccf54149de31b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#aa3dba868a99981d6b6bccf54149de31b">setEps</a> (double eps)</td></tr>
<tr class="memdesc:aa3dba868a99981d6b6bccf54149de31b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set heuristic weight. <br /></td></tr>
<tr class="separator:aa3dba868a99981d6b6bccf54149de31b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4adf903bf3ebbeb9604a10af01a6e2b5"><td class="memItemLeft" align="right" valign="top"><a id="a4adf903bf3ebbeb9604a10af01a6e2b5"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#a4adf903bf3ebbeb9604a10af01a6e2b5">setCweight</a> (double c)</td></tr>
<tr class="memdesc:a4adf903bf3ebbeb9604a10af01a6e2b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set collision cost weight. <br /></td></tr>
<tr class="separator:a4adf903bf3ebbeb9604a10af01a6e2b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a747da87b921d9d15cd80396d944d33cc"><td class="memItemLeft" align="right" valign="top"><a id="a747da87b921d9d15cd80396d944d33cc"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#a747da87b921d9d15cd80396d944d33cc">setPow</a> (int pow)</td></tr>
<tr class="memdesc:a747da87b921d9d15cd80396d944d33cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the power of potential function <img class="formulaInl" alt="$H_{MAX}(1 - d/d_{max})^{pow}$" src="form_2.png"/>. <br /></td></tr>
<tr class="separator:a747da87b921d9d15cd80396d944d33cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b80d2b48cc701f1ac7e48f48aa442d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#a2b80d2b48cc701f1ac7e48f48aa442d4">status</a> ()</td></tr>
<tr class="memdesc:a2b80d2b48cc701f1ac7e48f48aa442d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Status of the planner.  <a href="#a2b80d2b48cc701f1ac7e48f48aa442d4">More...</a><br /></td></tr>
<tr class="separator:a2b80d2b48cc701f1ac7e48f48aa442d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa995b247ebb1739588a091e1cfe4f5a0"><td class="memItemLeft" align="right" valign="top"><a id="aa995b247ebb1739588a091e1cfe4f5a0"></a>
<a class="el" href="data__type_8h.html#a0a3b37beb40c06edc02cb4b7339f2b96">vec_Vecf</a>&lt; Dim &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#aa995b247ebb1739588a091e1cfe4f5a0">getPath</a> ()</td></tr>
<tr class="memdesc:aa995b247ebb1739588a091e1cfe4f5a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the modified path. <br /></td></tr>
<tr class="separator:aa995b247ebb1739588a091e1cfe4f5a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61b975af2d46cd1ec7ca15d6325da321"><td class="memItemLeft" align="right" valign="top"><a id="a61b975af2d46cd1ec7ca15d6325da321"></a>
<a class="el" href="data__type_8h.html#a0a3b37beb40c06edc02cb4b7339f2b96">vec_Vecf</a>&lt; Dim &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#a61b975af2d46cd1ec7ca15d6325da321">getRawPath</a> ()</td></tr>
<tr class="memdesc:a61b975af2d46cd1ec7ca15d6325da321"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the raw path. <br /></td></tr>
<tr class="separator:a61b975af2d46cd1ec7ca15d6325da321"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b1842c47ea5a6fe60cf528678811687"><td class="memItemLeft" align="right" valign="top"><a id="a8b1842c47ea5a6fe60cf528678811687"></a>
<a class="el" href="data__type_8h.html#a0a3b37beb40c06edc02cb4b7339f2b96">vec_Vecf</a>&lt; Dim &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#a8b1842c47ea5a6fe60cf528678811687">getPriorPath</a> ()</td></tr>
<tr class="memdesc:a8b1842c47ea5a6fe60cf528678811687"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the prior path. <br /></td></tr>
<tr class="separator:a8b1842c47ea5a6fe60cf528678811687"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82932210c58fcd19b8938278fa90e099"><td class="memItemLeft" align="right" valign="top"><a id="a82932210c58fcd19b8938278fa90e099"></a>
<a class="el" href="data__type_8h.html#a0a3b37beb40c06edc02cb4b7339f2b96">vec_Vecf</a>&lt; Dim &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#a82932210c58fcd19b8938278fa90e099">getOpenSet</a> () const</td></tr>
<tr class="memdesc:a82932210c58fcd19b8938278fa90e099"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the nodes in open set. <br /></td></tr>
<tr class="separator:a82932210c58fcd19b8938278fa90e099"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae724cf2f4853fdaeeb59c732e008bad8"><td class="memItemLeft" align="right" valign="top"><a id="ae724cf2f4853fdaeeb59c732e008bad8"></a>
<a class="el" href="data__type_8h.html#a0a3b37beb40c06edc02cb4b7339f2b96">vec_Vecf</a>&lt; Dim &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#ae724cf2f4853fdaeeb59c732e008bad8">getCloseSet</a> () const</td></tr>
<tr class="memdesc:ae724cf2f4853fdaeeb59c732e008bad8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the nodes in close set. <br /></td></tr>
<tr class="separator:ae724cf2f4853fdaeeb59c732e008bad8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65d2f237835be0bbc4d9ca5e2a46d307"><td class="memItemLeft" align="right" valign="top"><a id="a65d2f237835be0bbc4d9ca5e2a46d307"></a>
<a class="el" href="data__type_8h.html#a0a3b37beb40c06edc02cb4b7339f2b96">vec_Vecf</a>&lt; Dim &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#a65d2f237835be0bbc4d9ca5e2a46d307">getAllSet</a> () const</td></tr>
<tr class="memdesc:a65d2f237835be0bbc4d9ca5e2a46d307"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get all the nodes. <br /></td></tr>
<tr class="separator:a65d2f237835be0bbc4d9ca5e2a46d307"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0c4c4e6eccc583c41b01ee361751ab9"><td class="memItemLeft" align="right" valign="top"><a id="af0c4c4e6eccc583c41b01ee361751ab9"></a>
<a class="el" href="data__type_8h.html#a62c46ed3e3ab6773b30439f9be38290b">vec_Vec3f</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#af0c4c4e6eccc583c41b01ee361751ab9">getCloud</a> (double h_max=1)</td></tr>
<tr class="memdesc:af0c4c4e6eccc583c41b01ee361751ab9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the potential cloud. <br /></td></tr>
<tr class="separator:af0c4c4e6eccc583c41b01ee361751ab9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec869c92d161c21972eded9d332e36cc"><td class="memItemLeft" align="right" valign="top"><a id="aec869c92d161c21972eded9d332e36cc"></a>
<a class="el" href="data__type_8h.html#a0a3b37beb40c06edc02cb4b7339f2b96">vec_Vecf</a>&lt; Dim &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#aec869c92d161c21972eded9d332e36cc">getSearchRegion</a> ()</td></tr>
<tr class="memdesc:aec869c92d161c21972eded9d332e36cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the searching region. <br /></td></tr>
<tr class="separator:aec869c92d161c21972eded9d332e36cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace4a86e76f0b912c9b679708eef84123"><td class="memItemLeft" align="right" valign="top"><a id="ace4a86e76f0b912c9b679708eef84123"></a>
std::shared_ptr&lt; <a class="el" href="classJPS_1_1MapUtil.html">JPS::MapUtil</a>&lt; Dim &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#ace4a86e76f0b912c9b679708eef84123">getMapUtil</a> ()</td></tr>
<tr class="memdesc:ace4a86e76f0b912c9b679708eef84123"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the internal map util. <br /></td></tr>
<tr class="separator:ace4a86e76f0b912c9b679708eef84123"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca946d73c16840a142b086b99810d52a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#aca946d73c16840a142b086b99810d52a">setMap</a> (const std::shared_ptr&lt; <a class="el" href="classJPS_1_1MapUtil.html">JPS::MapUtil</a>&lt; Dim &gt;&gt; &amp;map_util, const <a class="el" href="data__type_8h.html#a3a0c45655a5e009e56634ccde0c5c575">Vecf</a>&lt; Dim &gt; &amp;pos)</td></tr>
<tr class="memdesc:aca946d73c16840a142b086b99810d52a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate distance map.  <a href="#aca946d73c16840a142b086b99810d52a">More...</a><br /></td></tr>
<tr class="separator:aca946d73c16840a142b086b99810d52a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad544efbb36881600902ead65faaca709"><td class="memItemLeft" align="right" valign="top"><a id="ad544efbb36881600902ead65faaca709"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#ad544efbb36881600902ead65faaca709">computePath</a> (const <a class="el" href="data__type_8h.html#a3a0c45655a5e009e56634ccde0c5c575">Vecf</a>&lt; Dim &gt; &amp;start, const <a class="el" href="data__type_8h.html#a3a0c45655a5e009e56634ccde0c5c575">Vecf</a>&lt; Dim &gt; &amp;goal, const <a class="el" href="data__type_8h.html#a0a3b37beb40c06edc02cb4b7339f2b96">vec_Vecf</a>&lt; Dim &gt; &amp;path)</td></tr>
<tr class="memdesc:ad544efbb36881600902ead65faaca709"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the optimal path. <br /></td></tr>
<tr class="separator:ad544efbb36881600902ead65faaca709"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:ad1d4dcf1ec57016cbb8cb5e62da07009"><td class="memItemLeft" align="right" valign="top"><a class="el" href="data__type_8h.html#a6b9210d48a0a541940af71827aad1b41">vec_E</a>&lt; std::pair&lt; <a class="el" href="data__type_8h.html#ac208833a6aa7ec29f39eb5ae142aaede">Veci</a>&lt; Dim &gt;, int8_t &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#ad1d4dcf1ec57016cbb8cb5e62da07009">createMask</a> (int pow)</td></tr>
<tr class="memdesc:ad1d4dcf1ec57016cbb8cb5e62da07009"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create the mask for potential distance field.  <a href="#ad1d4dcf1ec57016cbb8cb5e62da07009">More...</a><br /></td></tr>
<tr class="separator:ad1d4dcf1ec57016cbb8cb5e62da07009"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0ea003b34a6703da7aaf992711f82a1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#af0ea003b34a6703da7aaf992711f82a1">plan</a> (const <a class="el" href="data__type_8h.html#a3a0c45655a5e009e56634ccde0c5c575">Vecf</a>&lt; Dim &gt; &amp;start, const <a class="el" href="data__type_8h.html#a3a0c45655a5e009e56634ccde0c5c575">Vecf</a>&lt; Dim &gt; &amp;goal, <a class="el" href="data__type_8h.html#a7c99d9360fc6cac2762b786e2fb52266">decimal_t</a> eps=1, <a class="el" href="data__type_8h.html#a7c99d9360fc6cac2762b786e2fb52266">decimal_t</a> cweight=0.1)</td></tr>
<tr class="memdesc:af0ea003b34a6703da7aaf992711f82a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Need to be specified in Child class, main planning function.  <a href="#af0ea003b34a6703da7aaf992711f82a1">More...</a><br /></td></tr>
<tr class="separator:af0ea003b34a6703da7aaf992711f82a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22daa9893b8403a568a954777585fdd3"><td class="memItemLeft" align="right" valign="top"><a id="a22daa9893b8403a568a954777585fdd3"></a>
<a class="el" href="data__type_8h.html#a0a3b37beb40c06edc02cb4b7339f2b96">vec_Vecf</a>&lt; Dim &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#a22daa9893b8403a568a954777585fdd3">removeLinePts</a> (const <a class="el" href="data__type_8h.html#a0a3b37beb40c06edc02cb4b7339f2b96">vec_Vecf</a>&lt; Dim &gt; &amp;path)</td></tr>
<tr class="memdesc:a22daa9893b8403a568a954777585fdd3"><td class="mdescLeft">&#160;</td><td class="mdescRight">remove redundant points on the same line <br /></td></tr>
<tr class="separator:a22daa9893b8403a568a954777585fdd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d40fbc86e538ad0f791a7af0f66730c"><td class="memItemLeft" align="right" valign="top"><a id="a2d40fbc86e538ad0f791a7af0f66730c"></a>
<a class="el" href="data__type_8h.html#a0a3b37beb40c06edc02cb4b7339f2b96">vec_Vecf</a>&lt; Dim &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#a2d40fbc86e538ad0f791a7af0f66730c">removeCornerPts</a> (const <a class="el" href="data__type_8h.html#a0a3b37beb40c06edc02cb4b7339f2b96">vec_Vecf</a>&lt; Dim &gt; &amp;path)</td></tr>
<tr class="memdesc:a2d40fbc86e538ad0f791a7af0f66730c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove some corner waypoints. <br /></td></tr>
<tr class="separator:a2d40fbc86e538ad0f791a7af0f66730c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bdc47ed622fe6c1bfa963a44e8f8922"><td class="memItemLeft" align="right" valign="top"><a id="a4bdc47ed622fe6c1bfa963a44e8f8922"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#a4bdc47ed622fe6c1bfa963a44e8f8922">checkAvailability</a> (const <a class="el" href="data__type_8h.html#ac208833a6aa7ec29f39eb5ae142aaede">Veci</a>&lt; Dim &gt; &amp;pn)</td></tr>
<tr class="memdesc:a4bdc47ed622fe6c1bfa963a44e8f8922"><td class="mdescLeft">&#160;</td><td class="mdescRight">check availability <br /></td></tr>
<tr class="separator:a4bdc47ed622fe6c1bfa963a44e8f8922"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:ab95b8caf76e9461ac6141df028298cf4"><td class="memItemLeft" align="right" valign="top"><a id="ab95b8caf76e9461ac6141df028298cf4"></a>
std::shared_ptr&lt; <a class="el" href="classJPS_1_1MapUtil.html">JPS::MapUtil</a>&lt; Dim &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#ab95b8caf76e9461ac6141df028298cf4">map_util_</a></td></tr>
<tr class="memdesc:ab95b8caf76e9461ac6141df028298cf4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assume using 3D voxel map for all 2d and 3d planning. <br /></td></tr>
<tr class="separator:ab95b8caf76e9461ac6141df028298cf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e656e5f931bb363e8f0dc758d2bbe4a"><td class="memItemLeft" align="right" valign="top"><a id="a0e656e5f931bb363e8f0dc758d2bbe4a"></a>
std::shared_ptr&lt; <a class="el" href="classDMP_1_1GraphSearch.html">DMP::GraphSearch</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#a0e656e5f931bb363e8f0dc758d2bbe4a">graph_search_</a></td></tr>
<tr class="memdesc:a0e656e5f931bb363e8f0dc758d2bbe4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The planner back-end. <br /></td></tr>
<tr class="separator:a0e656e5f931bb363e8f0dc758d2bbe4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77dec8dd82a73ec02de24fd7353c7755"><td class="memItemLeft" align="right" valign="top"><a id="a77dec8dd82a73ec02de24fd7353c7755"></a>
std::vector&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#a77dec8dd82a73ec02de24fd7353c7755">search_region_</a></td></tr>
<tr class="memdesc:a77dec8dd82a73ec02de24fd7353c7755"><td class="mdescLeft">&#160;</td><td class="mdescRight">tunnel for visualization <br /></td></tr>
<tr class="separator:a77dec8dd82a73ec02de24fd7353c7755"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfce5ec2b737c9cccefb601c65218bd8"><td class="memItemLeft" align="right" valign="top"><a id="adfce5ec2b737c9cccefb601c65218bd8"></a>
std::vector&lt; int8_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#adfce5ec2b737c9cccefb601c65218bd8">cmap_</a></td></tr>
<tr class="memdesc:adfce5ec2b737c9cccefb601c65218bd8"><td class="mdescLeft">&#160;</td><td class="mdescRight">1-D map array <br /></td></tr>
<tr class="separator:adfce5ec2b737c9cccefb601c65218bd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab800e317ca1565c342158a7ef948bad2"><td class="memItemLeft" align="right" valign="top"><a id="ab800e317ca1565c342158a7ef948bad2"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#ab800e317ca1565c342158a7ef948bad2">planner_verbose_</a></td></tr>
<tr class="memdesc:ab800e317ca1565c342158a7ef948bad2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enabled for printing info. <br /></td></tr>
<tr class="separator:ab800e317ca1565c342158a7ef948bad2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a395708ddac717812052140f289220c3c"><td class="memItemLeft" align="right" valign="top"><a id="a395708ddac717812052140f289220c3c"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#a395708ddac717812052140f289220c3c">path_cost_</a></td></tr>
<tr class="memdesc:a395708ddac717812052140f289220c3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Path cost (raw) <br /></td></tr>
<tr class="separator:a395708ddac717812052140f289220c3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:addfee57dcf8e41933204494bed21d017"><td class="memItemLeft" align="right" valign="top"><a id="addfee57dcf8e41933204494bed21d017"></a>
<a class="el" href="data__type_8h.html#a0a3b37beb40c06edc02cb4b7339f2b96">vec_Vecf</a>&lt; Dim &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#addfee57dcf8e41933204494bed21d017">prior_path_</a></td></tr>
<tr class="memdesc:addfee57dcf8e41933204494bed21d017"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prior path from planner. <br /></td></tr>
<tr class="separator:addfee57dcf8e41933204494bed21d017"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d70235f3a9cf834b9e963ec75ccc6c9"><td class="memItemLeft" align="right" valign="top"><a id="a4d70235f3a9cf834b9e963ec75ccc6c9"></a>
<a class="el" href="data__type_8h.html#a0a3b37beb40c06edc02cb4b7339f2b96">vec_Vecf</a>&lt; Dim &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#a4d70235f3a9cf834b9e963ec75ccc6c9">raw_path_</a></td></tr>
<tr class="memdesc:a4d70235f3a9cf834b9e963ec75ccc6c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Raw path from planner. <br /></td></tr>
<tr class="separator:a4d70235f3a9cf834b9e963ec75ccc6c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c51e1e55178ec0ce7290ee45e834bfc"><td class="memItemLeft" align="right" valign="top"><a id="a5c51e1e55178ec0ce7290ee45e834bfc"></a>
<a class="el" href="data__type_8h.html#a0a3b37beb40c06edc02cb4b7339f2b96">vec_Vecf</a>&lt; Dim &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#a5c51e1e55178ec0ce7290ee45e834bfc">path_</a></td></tr>
<tr class="memdesc:a5c51e1e55178ec0ce7290ee45e834bfc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modified path for future usage. <br /></td></tr>
<tr class="separator:a5c51e1e55178ec0ce7290ee45e834bfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa261a20a072d03a4f5a34560b17c0bd7"><td class="memItemLeft" align="right" valign="top"><a id="aa261a20a072d03a4f5a34560b17c0bd7"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#aa261a20a072d03a4f5a34560b17c0bd7">status_</a> = 0</td></tr>
<tr class="memdesc:aa261a20a072d03a4f5a34560b17c0bd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag indicating the success of planning. <br /></td></tr>
<tr class="separator:aa261a20a072d03a4f5a34560b17c0bd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a375b9b7e025bb469c2f7b6bf75cefea1"><td class="memItemLeft" align="right" valign="top"><a id="a375b9b7e025bb469c2f7b6bf75cefea1"></a>
int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#a375b9b7e025bb469c2f7b6bf75cefea1">H_MAX</a> {100}</td></tr>
<tr class="memdesc:a375b9b7e025bb469c2f7b6bf75cefea1"><td class="mdescLeft">&#160;</td><td class="mdescRight">max potential value <br /></td></tr>
<tr class="separator:a375b9b7e025bb469c2f7b6bf75cefea1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40d49ceeb7c7b13264b7c98f9a2f7629"><td class="memItemLeft" align="right" valign="top"><a id="a40d49ceeb7c7b13264b7c98f9a2f7629"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#a40d49ceeb7c7b13264b7c98f9a2f7629">eps_</a> {0.0}</td></tr>
<tr class="memdesc:a40d49ceeb7c7b13264b7c98f9a2f7629"><td class="mdescLeft">&#160;</td><td class="mdescRight">heuristic weight <br /></td></tr>
<tr class="separator:a40d49ceeb7c7b13264b7c98f9a2f7629"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66156e9ccf992e700949ca1761b08f75"><td class="memItemLeft" align="right" valign="top"><a id="a66156e9ccf992e700949ca1761b08f75"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#a66156e9ccf992e700949ca1761b08f75">cweight_</a> {0.1}</td></tr>
<tr class="memdesc:a66156e9ccf992e700949ca1761b08f75"><td class="mdescLeft">&#160;</td><td class="mdescRight">potential weight <br /></td></tr>
<tr class="separator:a66156e9ccf992e700949ca1761b08f75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a309b34673509cc8a11e5b5e650d1c107"><td class="memItemLeft" align="right" valign="top"><a id="a309b34673509cc8a11e5b5e650d1c107"></a>
<a class="el" href="data__type_8h.html#a3a0c45655a5e009e56634ccde0c5c575">Vecf</a>&lt; Dim &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#a309b34673509cc8a11e5b5e650d1c107">potential_radius_</a> {<a class="el" href="data__type_8h.html#a3a0c45655a5e009e56634ccde0c5c575">Vecf</a>&lt;Dim&gt;::Zero()}</td></tr>
<tr class="memdesc:a309b34673509cc8a11e5b5e650d1c107"><td class="mdescLeft">&#160;</td><td class="mdescRight">radius of distance field <br /></td></tr>
<tr class="separator:a309b34673509cc8a11e5b5e650d1c107"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac36d9fd76ad1427fd88a31f9009635bc"><td class="memItemLeft" align="right" valign="top"><a id="ac36d9fd76ad1427fd88a31f9009635bc"></a>
<a class="el" href="data__type_8h.html#a3a0c45655a5e009e56634ccde0c5c575">Vecf</a>&lt; Dim &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#ac36d9fd76ad1427fd88a31f9009635bc">search_radius_</a> {<a class="el" href="data__type_8h.html#a3a0c45655a5e009e56634ccde0c5c575">Vecf</a>&lt;Dim&gt;::Zero()}</td></tr>
<tr class="memdesc:ac36d9fd76ad1427fd88a31f9009635bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">radius of searching tunnel <br /></td></tr>
<tr class="separator:ac36d9fd76ad1427fd88a31f9009635bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50cadb8965084f7f13d39272a71b3b98"><td class="memItemLeft" align="right" valign="top"><a id="a50cadb8965084f7f13d39272a71b3b98"></a>
<a class="el" href="data__type_8h.html#a3a0c45655a5e009e56634ccde0c5c575">Vecf</a>&lt; Dim &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#a50cadb8965084f7f13d39272a71b3b98">potential_map_range_</a> {<a class="el" href="data__type_8h.html#a3a0c45655a5e009e56634ccde0c5c575">Vecf</a>&lt;Dim&gt;::Zero()}</td></tr>
<tr class="memdesc:a50cadb8965084f7f13d39272a71b3b98"><td class="mdescLeft">&#160;</td><td class="mdescRight">xy range of local distance map <br /></td></tr>
<tr class="separator:a50cadb8965084f7f13d39272a71b3b98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a740386adcd934aa9dbc613750a0fc0b3"><td class="memItemLeft" align="right" valign="top"><a id="a740386adcd934aa9dbc613750a0fc0b3"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDMPlanner.html#a740386adcd934aa9dbc613750a0fc0b3">pow_</a> {1}</td></tr>
<tr class="memdesc:a740386adcd934aa9dbc613750a0fc0b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">power index for creating mask <br /></td></tr>
<tr class="separator:a740386adcd934aa9dbc613750a0fc0b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;int Dim&gt;<br />
class DMPlanner&lt; Dim &gt;</h3>

<p>Abstract base for planning. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ad33e7686995b0205ea104d9b5910962b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad33e7686995b0205ea104d9b5910962b">&#9670;&nbsp;</a></span>DMPlanner()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;int Dim&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classDMPlanner.html">DMPlanner</a>&lt; Dim &gt;::<a class="el" href="classDMPlanner.html">DMPlanner</a> </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>verbose</em> = <code>false</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Simple constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">verbose</td><td>enable debug mode </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ad1d4dcf1ec57016cbb8cb5e62da07009"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad1d4dcf1ec57016cbb8cb5e62da07009">&#9670;&nbsp;</a></span>createMask()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;int Dim&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="data__type_8h.html#a6b9210d48a0a541940af71827aad1b41">vec_E</a>&lt; std::pair&lt; <a class="el" href="data__type_8h.html#ac208833a6aa7ec29f39eb5ae142aaede">Veci</a>&lt; Dim &gt;, int8_t &gt; &gt; <a class="el" href="classDMPlanner.html">DMPlanner</a>&lt; Dim &gt;::createMask </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>pow</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create the mask for potential distance field. </p>
<p>Mask for generating potential field around obstacle </p>

</div>
</div>
<a id="af0ea003b34a6703da7aaf992711f82a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af0ea003b34a6703da7aaf992711f82a1">&#9670;&nbsp;</a></span>plan()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;int Dim&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classDMPlanner.html">DMPlanner</a>&lt; Dim &gt;::plan </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="data__type_8h.html#a3a0c45655a5e009e56634ccde0c5c575">Vecf</a>&lt; Dim &gt; &amp;&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="data__type_8h.html#a3a0c45655a5e009e56634ccde0c5c575">Vecf</a>&lt; Dim &gt; &amp;&#160;</td>
          <td class="paramname"><em>goal</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="data__type_8h.html#a7c99d9360fc6cac2762b786e2fb52266">decimal_t</a>&#160;</td>
          <td class="paramname"><em>eps</em> = <code>1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="data__type_8h.html#a7c99d9360fc6cac2762b786e2fb52266">decimal_t</a>&#160;</td>
          <td class="paramname"><em>cweight</em> = <code>0.1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Need to be specified in Child class, main planning function. </p>
<p>check if the map exists</p>
<p>check availability of start</p>
<p>check availability of goal </p>

</div>
</div>
<a id="aca946d73c16840a142b086b99810d52a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca946d73c16840a142b086b99810d52a">&#9670;&nbsp;</a></span>setMap()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;int Dim&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classDMPlanner.html">DMPlanner</a>&lt; Dim &gt;::setMap </td>
          <td>(</td>
          <td class="paramtype">const std::shared_ptr&lt; <a class="el" href="classJPS_1_1MapUtil.html">JPS::MapUtil</a>&lt; Dim &gt;&gt; &amp;&#160;</td>
          <td class="paramname"><em>map_util</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="data__type_8h.html#a3a0c45655a5e009e56634ccde0c5c575">Vecf</a>&lt; Dim &gt; &amp;&#160;</td>
          <td class="paramname"><em>pos</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Generate distance map. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">map_util</td><td>MapUtil that contains the map object </td></tr>
    <tr><td class="paramname">pos</td><td>center of the distance map</td></tr>
  </table>
  </dd>
</dl>
<p>it copies the map object, thus change the original map_uitl won't affect the internal map. </p>

</div>
</div>
<a id="afaeb5f88f845c3b3f915895d3bb9570e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afaeb5f88f845c3b3f915895d3bb9570e">&#9670;&nbsp;</a></span>setPath()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;int Dim&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; bool &gt; <a class="el" href="classDMPlanner.html">DMPlanner</a>&lt; Dim &gt;::setPath </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="data__type_8h.html#a0a3b37beb40c06edc02cb4b7339f2b96">vec_Vecf</a>&lt; Dim &gt; &amp;&#160;</td>
          <td class="paramname"><em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="data__type_8h.html#a3a0c45655a5e009e56634ccde0c5c575">Vecf</a>&lt; Dim &gt; &amp;&#160;</td>
          <td class="paramname"><em>radius</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>dense</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>set a prior path and get region around it </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">path</td><td>prior path </td></tr>
    <tr><td class="paramname">r</td><td>radius in x-y plane </td></tr>
    <tr><td class="paramname">h</td><td>height in z axis, if 2d, it's not used </td></tr>
    <tr><td class="paramname">dense</td><td>if true, dont need to do rayTrace</td></tr>
  </table>
  </dd>
</dl>
<p>it returns the inflated region </p>

</div>
</div>
<a id="a2b80d2b48cc701f1ac7e48f48aa442d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b80d2b48cc701f1ac7e48f48aa442d4">&#9670;&nbsp;</a></span>status()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;int Dim&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classDMPlanner.html">DMPlanner</a>&lt; Dim &gt;::status </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Status of the planner. </p>
<p>0 &mdash; exit normally; -1 &mdash; no path found; 1, 2 &mdash; start or goal is not free. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/jps_planner/distance_map_planner/<a class="el" href="distance__map__planner_8h_source.html">distance_map_planner.h</a></li>
<li>src/distance_map_planner/distance_map_planner.cpp</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>
